package com.deer.wms.inventory.model.Inventory;

import com.deer.wms.project.root.core.service.QueryCriteria;
import lombok.Data;

import java.util.List;
import java.util.Set;

/**
* Created by 郭靖勋 on 2019/12/18.
*/
@Data
public class InventoryCriteria extends QueryCriteria {
    //物料编码集合
    private Set<String> itemCodes;
    private Set<Integer> wareIds;
    private Set<Integer> organizationSet;


    private Double maxQuantity;
    private Double maxWeight;
    private Double maxSize;

    private String cellCode;
    private String areaCode;
    private String boxCode;
    private Integer packDetailId;
    private Double transRatio;
    private String itemCode;
    private String waveCode;
    private String billNo;
    private String asnMasterCode;
    private String supplierCode;
    private String supplierName;
    private String itemName;
    private String batchName;
    private Integer batchId;

    private Integer inventoryId;
    private Double allotQuantity;
    private Double freezeQuantity;

    private Integer itemTypeId;
    private String itemTypeName;
    private Integer cellUseType;

    private Integer param;

    private String lpn;

    private List<Integer>states;
    private Integer qcState;

    private Integer itemOrgId;

    private Integer hasInventoryLimit;
    private Integer inventorySafetyState; // 1-超储 -1-短缺

    private String jointSql;



    public Double getMaxQuantity() {
        return maxQuantity;
    }

    public void setMaxQuantity(Double maxQuantity) {
        this.maxQuantity = maxQuantity;
    }

    public Double getMaxWeight() {
        return maxWeight;
    }

    public void setMaxWeight(Double maxWeight) {
        this.maxWeight = maxWeight;
    }

    public Double getMaxSize() {
        return maxSize;
    }

    public void setMaxSize(Double maxSize) {
        this.maxSize = maxSize;
    }

    public String getJointSql() {
        return jointSql;
    }

    public void setJointSql(String jointSql) {
        this.jointSql = jointSql;
    }

    public Integer getInventorySafetyState() {
        return inventorySafetyState;
    }

    public void setInventorySafetyState(Integer inventorySafetyState) {
        this.inventorySafetyState = inventorySafetyState;
    }

    public Integer getHasInventoryLimit() {
        return hasInventoryLimit;
    }

    public void setHasInventoryLimit(Integer hasInventoryLimit) {
        this.hasInventoryLimit = hasInventoryLimit;
    }

    public Integer getItemOrgId() {
        return itemOrgId;
    }

    public void setItemOrgId(Integer itemOrgId) {
        this.itemOrgId = itemOrgId;
    }

    public String getWaveCode() {
        return waveCode;
    }

    public void setWaveCode(String waveCode) {
        this.waveCode = waveCode;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public String getLpn() {
        return lpn;
    }

    public void setLpn(String lpn) {
        this.lpn = lpn;
    }

    public String getItemCode() {
        return itemCode;
    }

    public void setItemCode(String itemCode) {
        this.itemCode = itemCode;
    }

    public Integer getBatchId() {
        return batchId;
    }

    public void setBatchId(Integer batchId) {
        this.batchId = batchId;
    }

    public String getCellCode() {
        return cellCode;
    }

    public void setCellCode(String cellCode) {
        this.cellCode = cellCode;
    }

    public String getBoxCode() {
        return boxCode;
    }

    public void setBoxCode(String boxCode) {
        this.boxCode = boxCode;
    }

    public Integer getPackDetailId() {
        return packDetailId;
    }

    public void setPackDetailId(Integer packDetailId) {
        this.packDetailId = packDetailId;
    }

    public Double getTransRatio() {
        return transRatio;
    }

    public void setTransRatio(Double transRatio) {
        this.transRatio = transRatio;
    }

    public Integer getInventoryId() {
        return inventoryId;
    }

    public void setInventoryId(Integer inventoryId) {
        this.inventoryId = inventoryId;
    }

    public Double getAllotQuantity() {
        return allotQuantity;
    }

    public void setAllotQuantity(Double allotQuantity) {
        this.allotQuantity = allotQuantity;
    }

    public Double getFreezeQuantity() {
        return freezeQuantity;
    }

    public void setFreezeQuantity(Double freezeQuantity) {
        this.freezeQuantity = freezeQuantity;
    }

    public Integer getItemTypeId() {
        return itemTypeId;
    }

    public void setItemTypeId(Integer itemTypeId) {
        this.itemTypeId = itemTypeId;
    }

    public String getItemTypeName() {
        return itemTypeName;
    }

    public void setItemTypeName(String itemTypeName) {
        this.itemTypeName = itemTypeName;
    }

    public Integer getCellUseType() {
        return cellUseType;
    }

    public void setCellUseType(Integer cellUseType) {
        this.cellUseType = cellUseType;
    }


    public InventoryCriteria() {
    }

    public InventoryCriteria(Integer inventoryId) {
        this.inventoryId = inventoryId;
    }

    public InventoryCriteria(String itemCode, Integer cellUseType) {
        this.itemCode = itemCode;
        this.cellUseType = cellUseType;
    }

    public InventoryCriteria(String itemCode, Integer cellUseType, Integer orderBy) {
        this.itemCode = itemCode;
        this.cellUseType = cellUseType;
        this.param = orderBy;
    }

    public Integer getParam() {
        return param;
    }

    public void setParam(Integer param) {
        this.param = param;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public List<Integer> getStates() {
        return states;
    }

    public void setStates(List<Integer> states) {
        this.states = states;
    }

    public Integer getQcState() {
        return qcState;
    }

    public void setQcState(Integer qcState) {
        this.qcState = qcState;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }
}
